package com.frank.stock4j.tusharepro.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDate;
import com.frank.stock4j.tusharepro.bean.IncomeBean;

/**
* 描述：获取上市公司财务利润表数据
* @author: codesmith
**/
@Data
@TableName("income")
public class IncomeEntity implements IncomeBean {
    
    /*
    * TS代码
    */
    @TableId
    @TableField("`ts_code`") protected String tsCode;

    @TableField("`ann_date`") protected LocalDate annDate;

    @TableField("`f_ann_date`") protected LocalDate fAnnDate;
    /*
    * 报告期
    */
    @TableId
    @TableField("`end_date`") protected LocalDate endDate;
    /*
    * 报告类型 1合并报表 2单季合并 3调整单季合并表 4调整合并报表 5调整前合并报表 6母公司报表 7母公司单季表 8 母公司调整单季表 9母公司调整表 10母公司调整前报表 11调整前合并报表 12母公司调整前报表
    */
    @TableId
    @TableField("`report_type`") protected String reportType;

    @TableField("`comp_type`") protected String compType;

    @TableField("`basic_eps`") protected Double basicEps;

    @TableField("`diluted_eps`") protected Double dilutedEps;

    @TableField("`total_revenue`") protected Double totalRevenue;

    @TableField("`revenue`") protected Double revenue;

    @TableField("`int_income`") protected Double intIncome;

    @TableField("`prem_earned`") protected Double premEarned;

    @TableField("`comm_income`") protected Double commIncome;

    @TableField("`n_commis_income`") protected Double nCommisIncome;

    @TableField("`n_oth_income`") protected Double nOthIncome;

    @TableField("`n_oth_b_income`") protected Double nOthBIncome;

    @TableField("`prem_income`") protected Double premIncome;

    @TableField("`out_prem`") protected Double outPrem;

    @TableField("`une_prem_reser`") protected Double unePremReser;

    @TableField("`reins_income`") protected Double reinsIncome;

    @TableField("`n_sec_tb_income`") protected Double nSecTbIncome;

    @TableField("`n_sec_uw_income`") protected Double nSecUwIncome;

    @TableField("`n_asset_mg_income`") protected Double nAssetMgIncome;

    @TableField("`oth_b_income`") protected Double othBIncome;

    @TableField("`fv_value_chg_gain`") protected Double fvValueChgGain;

    @TableField("`invest_income`") protected Double investIncome;

    @TableField("`ass_invest_income`") protected Double assInvestIncome;

    @TableField("`forex_gain`") protected Double forexGain;

    @TableField("`total_cogs`") protected Double totalCogs;

    @TableField("`oper_cost`") protected Double operCost;

    @TableField("`int_exp`") protected Double intExp;

    @TableField("`comm_exp`") protected Double commExp;

    @TableField("`biz_tax_surchg`") protected Double bizTaxSurchg;

    @TableField("`sell_exp`") protected Double sellExp;

    @TableField("`admin_exp`") protected Double adminExp;

    @TableField("`fin_exp`") protected Double finExp;

    @TableField("`assets_impair_loss`") protected Double assetsImpairLoss;

    @TableField("`prem_refund`") protected Double premRefund;

    @TableField("`compens_payout`") protected Double compensPayout;

    @TableField("`reser_insur_liab`") protected Double reserInsurLiab;

    @TableField("`div_payt`") protected Double divPayt;

    @TableField("`reins_exp`") protected Double reinsExp;

    @TableField("`oper_exp`") protected Double operExp;

    @TableField("`compens_payout_refu`") protected Double compensPayoutRefu;

    @TableField("`insur_reser_refu`") protected Double insurReserRefu;

    @TableField("`reins_cost_refund`") protected Double reinsCostRefund;

    @TableField("`other_bus_cost`") protected Double otherBusCost;

    @TableField("`operate_profit`") protected Double operateProfit;

    @TableField("`non_oper_income`") protected Double nonOperIncome;

    @TableField("`non_oper_exp`") protected Double nonOperExp;

    @TableField("`nca_disploss`") protected Double ncaDisploss;

    @TableField("`total_profit`") protected Double totalProfit;

    @TableField("`income_tax`") protected Double incomeTax;

    @TableField("`n_income`") protected Double nIncome;

    @TableField("`n_income_attr_p`") protected Double nIncomeAttrP;

    @TableField("`minority_gain`") protected Double minorityGain;

    @TableField("`oth_compr_income`") protected Double othComprIncome;

    @TableField("`t_compr_income`") protected Double tComprIncome;

    @TableField("`compr_inc_attr_p`") protected Double comprIncAttrP;

    @TableField("`compr_inc_attr_m_s`") protected Double comprIncAttrMS;

    @TableField("`ebit`") protected Double ebit;

    @TableField("`ebitda`") protected Double ebitda;

    @TableField("`insurance_exp`") protected Double insuranceExp;

    @TableField("`undist_profit`") protected Double undistProfit;

    @TableField("`distable_profit`") protected Double distableProfit;

    @TableField("`update_flag`") protected String updateFlag;
}